home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / pvap322a / pvaploop.plp < prev    next >
Text File  |  1993-11-30  |  24KB  |  1,012 lines

  1. /************************************************************************
  2. *    PC-VANでの処理                        *
  3. ************************************************************************/
  4. /*    各メニューにジャンプし各未読を見る    */
  5. %Jump{
  6.     [jump]
  7.     LOGSAVE;
  8.     type({J }|JUMP|{\n});
  9.     loop({
  10.     wait    ({60},STOP,
  11.         {訂正},    {WAIT;SNDMSG({okasi_f.snd});
  12.             display({\nジャンプコードが間違っています\n});
  13.             im({No})},
  14.         {リターンキーを押して下さい=},
  15.             {type({\n});im({Yes})},
  16.         {よろしいですか(Y,N)=},
  17.             {type({\n});im({Yes})},
  18.         {よろしいですか=},
  19.             {type({\n});im({Yes})},
  20.         {,J)=},    {jump;im({No})},
  21.         {番号またはコマンド=},
  22.             {jump;im({No})});
  23.     });
  24. };
  25.  
  26. /*    各メニューにジャンプし各未読タイトルを見る    */
  27. %Jump2{
  28.     [jump]
  29.     type({J }|JUMP|{\n});
  30.     loop({
  31.     wait    ({60},STOP,
  32.         {訂正},    {WAIT;SNDMSG({okasi_f.snd});
  33.             display({\nジャンプコードが間違っています\n});
  34.             im({No})},
  35.         {リターンキーを押して下さい=},
  36.             {type({\n});im({Yes})},
  37.         {よろしいですか(Y,N)=},
  38.             {type({\n});im({Yes})},
  39.         {よろしいですか=},
  40.             {type({\n});im({Yes})},
  41.         {,J)=},    {jump;im({No})},
  42.         {番号またはコマンド=},
  43.             {jump;im({No})});
  44.     });
  45. };
  46.  
  47. /*    SIG内での処理    */
  48. %SIG{
  49.     B:={No};
  50.     %JUMP @nth(a,3,{/});
  51.     footnote(JUMP|{での処理をしています});
  52.  
  53.     %sig{
  54.     %NUMBER1 @nth(a,4,{/});
  55.     case    (NUMBER1={},
  56.         {No},    {type({3\n});
  57.             footnote(JUMP|{の}|NUMBER1|
  58.                 {番フォーラムの未読を見ています});
  59.             WAIT;FREAD({FORUM});type({M\n});WAIT});
  60.     %NUMBER1 @nth(a,5,{/});
  61.     case    (NUMBER1={},
  62.         {No},    {type({5\n});
  63.             footnote(JUMP|{の}|NUMBER1|
  64.                 {番会議室の未読を見ています});
  65.             wait({60},STOP,
  66.             {現在このサービスは行っていません},
  67.                 {WAIT;
  68.                 SNDMSG({okasi_f.snd});
  69.                 display({\nこのSIGには}|
  70.                 {会議室がありません\n})},
  71.             {,J)=},    {KREAD;type({M\n});WAIT},
  72.             {番号またはコマンド=},
  73.                 {KREAD;type({M\n});WAIT})});
  74.     %NUMBER1 @nth(a,8,{/});
  75.     case    (NUMBER1,
  76.         {Yes},    {type({6\n});
  77.             footnote(JUMP|{のOLT広場を見ています});
  78.             WAIT;type({3\n});
  79.             WAIT;type({1\n});WAITOLT;type({M\n});WAIT});
  80.     %NUMBER1 @nth(a,6,{/});
  81.     case    (NUMBER1={},
  82.         {No},    {type({7\n});
  83.             footnote(JUMP|{の}|NUMBER1|
  84.                 {番OSLのリストを見ています});
  85.             wait({60},STOP,
  86.             {現在このサービスは行っていません},
  87.                 {WAIT;
  88.                 SNDMSG({okasi_f.snd});
  89.                 display({\nこのSIGには}|
  90.                 {OSLがありません\n})},
  91.             {,J)=},    {OSLCHK;type({M\n});WAIT},
  92.             {番号またはコマンド=},
  93.                 {OSLCHK;type({M\n});WAIT})});
  94.     %NUMBER1 @nth(a,7,{/});
  95.     case    (NUMBER1={},
  96.         {No},    {type({4\n});
  97.             footnote(JUMP|{の}|NUMBER1|
  98.                 {番ライブラリのリストを見ています});
  99.             wait({60},STOP,
  100.             {現在このサービスは行っていません},
  101.                 {WAIT;
  102.                 SNDMSG({okasi_f.snd});
  103.                 display({\nこのSIGには}|
  104.                 {ライブラリがありません\n})},
  105.             {,J)=},    {LIBCHK;type({M\n});WAIT},
  106.             {番号またはコマンド=},
  107.                 {LIBCHK;type({M\n});WAIT})});
  108.     };
  109.  
  110.     case(WHERE2=JUMP,{Yes},{LOGSAVE;sig},,{WHERE2:=JUMP;Jump(sig)});
  111.     case(SAVE,{JUMPCODE},{case(REC,{Yes},{REC:={No};stoprec})});
  112.     LOGDEL;
  113. };
  114.  
  115. /*    フォーラム・掲示板の未読を表示    */
  116. %FREAD{
  117.     [WHERE]
  118.     C:=1;
  119.     loop({
  120.     %NUMBER2 @nth(NUMBER1,C,{,});
  121.     type({RN}|NUMBER2|{\n});
  122.     wait({60},STOP,
  123.     {新しいメッセージは、ありません。},
  124.         {WAIT;case    (@nth(NUMBER1,C+1,{,})={},
  125.                 {No},    {C:=C+1;im({Yes})},
  126.                 {Yes},    {im({No})})},
  127.     {****},
  128.         {B:={Yes};
  129.         WAIT;
  130.         case(WHERE,{BBS},{LogSave2},,{LogSave});
  131.         type({RB-\n});
  132.         WAITrb;
  133.         case(SAVE,{BOARD},{case    (REC,{Yes},{REC:={No};stoprec})});
  134.         case    (@nth(NUMBER1,C+1,{,})={},
  135.             {No},    {type({F\n});WAIT;C:=C+1;im({Yes})},
  136.             {Yes},    {im({No})});});
  137.     });
  138. };
  139.  
  140. /*    会議室の未読を見る    */
  141. %KREAD{
  142.     C:=1;
  143.     loop({
  144.     %NUMBER2 @nth(NUMBER1,C,{,});
  145.     type(NUMBER2|{\n});
  146.     WAIT;
  147.     type({RN\n});
  148.     wait({60},STOP,
  149.     {新しいメッセージは、ありません。},
  150.         {WAIT;case    (@nth(NUMBER1,C+1,{,})={},
  151.                 {No},    {type({S\n});WAIT;C:=C+1;im({Yes})},
  152.                 {Yes},    {im({No})})},
  153.     {****},
  154.         {B:={Yes};
  155.         WAIT;
  156.         WHERE:={KAIGI};LogSave;
  157.         type({RB-\n});
  158.         WAITrb;
  159.         case(SAVE,{BOARD},{case    (REC,{Yes},{REC:={No};stoprec})});
  160.         case    (@nth(NUMBER1,C+1,{,})={},
  161.             {No},    {type({S\n});WAIT;C:=C+1;im({Yes})},
  162.             {Yes},    {im({No})});});
  163.     });
  164. };
  165.  
  166. /*    OLT広場の未読を見る    */
  167. %WAITOLT{
  168.     wait({120},STOP,
  169.     {新しいメッセージは、ありません。},WAIT,
  170.     {タイトル},    {B:={Yes};
  171.             A:=@tail(@laststr,{#},{/});
  172.             WAIT;
  173.             case    (SAVE={BOARD},
  174.                 {Yes},
  175.                 {case    (preser,
  176.                     { 1},{mkdir2(LOGPATH|{\}|JUMP|{\OLT});
  177.                         LOGFILE:=@crefile(LOGPATH|{\}|
  178.                             JUMP|{\OLT},{LOG});
  179.                         receive(LOGPATH|{\}|
  180.                             JUMP|{\OLT\}|LOGFILE);
  181.                         REC:={Yes}})});
  182.             loop({
  183.             type({RB}|A|{,}|A+1|{,}|A+2|{,}|A+3|{,}|A+4|{\n});
  184.             wait({300},STOP,
  185.             {訂正して},
  186.                 {WAIT;im({No})},
  187.             {ありません。\n\n}|{番号または},
  188.                 {WAIT;im({No})},
  189.             {,J)=},
  190.                 {A:=A+5;im({Yes})},
  191.             {<FM>=},
  192.                 {A:=A+5;im({Yes})});
  193.             });});
  194.     case(SAVE,{BOARD},{case    (REC,{Yes},{REC:={No};stoprec})});
  195. };
  196.  
  197. /*    OSLを見る    */
  198. %OSLCHK{
  199.     A:=1;
  200.     C:=1;
  201.     case    (SAVE,
  202.         {BOARD},
  203.         {case    (preser,
  204.             { 1},    {mkdir2(LOGPATH|{\}|JUMP);
  205.                 delfile(LOGPATH|{\}|JUMP|{\OSLLIST.LOG});
  206.                 receive(LOGPATH|{\}|JUMP|{\OSLLIST.LOG});
  207.                 REC:={Yes}})});
  208.     loop({
  209.     %NUMBER2 @nth(NUMBER1,C,{,});
  210.     type(NUMBER2|{\n});
  211.     WAIT;
  212.     type({2\n});
  213.     loop({
  214.     WAIT;
  215.     case    (LIST=A,
  216.         {Yes},{im({No})},
  217.         {No}, {A:=A+1;type({\n});im({Yes})});
  218.     });
  219.     case    (@nth(NUMBER1,C+1,{,})={},
  220.         {No},    {type({S\n});WAIT;C:=C+1;im({Yes})},
  221.         {Yes},    {im({No})});
  222.     });
  223.     case(SAVE,{BOARD},{case(REC,{Yes},{REC:={No};stoprec})});
  224. };
  225.  
  226. /*    ライブラリを見る    */
  227. %LIBCHK{
  228.     A:=1;
  229.     C:=1;
  230.     case    (SAVE,
  231.         {BOARD},
  232.         {case    (preser,
  233.             { 1},    {mkdir2(LOGPATH|{\}|JUMP);
  234.                 delfile(LOGPATH|{\}|JUMP|{\LIBLIST.LOG});
  235.                 receive(LOGPATH|{\}|JUMP|{\LIBLIST.LOG});
  236.                 REC:={Yes}})});
  237.     loop({
  238.     %NUMBER2 @nth(NUMBER1,C,{,});
  239.     type(NUMBER2|{\n});
  240.     loop({
  241.     WAIT;
  242.     case    (LIST=A,
  243.         {Yes},{im({No})},
  244.         {No}, {A:=A+1;type({\n});im({Yes})});
  245.     });
  246.     case    (@nth(NUMBER1,C+1,{,})={},
  247.         {No},{type({S\n});WAIT;C:=C+1;im({Yes})},
  248.         {Yes},{im({No})});
  249.     });
  250.     case(SAVE,{BOARD},{case(REC,{Yes},{REC:={No};stoprec})});
  251. };
  252.  
  253. /*    SIG内での処理(検索して読む)    */
  254. %SIGK{
  255.     var MESNUM1[2000];
  256.     var MESNUM2[30];
  257.     var E[5];
  258.     var F[5];
  259.     B:={No};
  260.     D:={0};
  261.     %JUMP @nth(a,3,{/});
  262.     footnote(JUMP|{での処理をしています});
  263.  
  264.     %sig{
  265.     %NUMBER1 @nth(a,4,{/});
  266.     %KEYWORD @nth(a,5,{/});
  267.     case    (NUMBER1={},
  268.         {No},    {type({3\n});
  269.             footnote(JUMP|{の}|NUMBER1|
  270.                 {番フォーラムの未読を検索して見ています});
  271.             WAIT;KFREAD({FORUM});type({M\n});WAIT});
  272.     %NUMBER1 @nth(a,6,{/});
  273.     %KEYWORD @nth(a,7,{/});
  274.     case    (NUMBER1={},
  275.         {No},    {type({5\n});
  276.             footnote(JUMP|{の}|NUMBER1|
  277.                 {番会議室の未読を検索して見ています});
  278.             wait({60},STOP,
  279.             {現在このサービスは行っていません},
  280.                 {WAIT;
  281.                 SNDMSG({okasi_f.snd});
  282.                 display({\nこのSIGには}|
  283.                 {会議室がありません\n})},
  284.             {,J)=},    {KKREAD;type({M\n});WAIT},
  285.             {番号またはコマンド=},
  286.                 {KKREAD;type({M\n});WAIT})});
  287.     };
  288.  
  289.     case(WHERE2=JUMP,{Yes},{LOGSAVE;sig},,{WHERE2:=JUMP;Jump(sig)});
  290.     case(SAVE,{JUMPCODE},{case(REC,{Yes},{REC:={No};stoprec})});
  291.     LOGDEL;
  292. };
  293.  
  294. /*    フォーラム・掲示板の未読を検索して表示    */
  295. %KFREAD{
  296.     [WHERE]
  297.     C:=1;
  298.     loop({
  299.     MESNUM1:={};
  300.     MESNUM2:={};
  301.     %NUMBER2 @nth(NUMBER1,C,{,});
  302.     type({RN}|NUMBER2|{\n});
  303.     wait({60},STOP,
  304.     {新しいメッセージは、ありません。},
  305.         {WAIT;case    (@nth(NUMBER1,C+1,{,})={},
  306.                 {No},    {C:=C+1;im({Yes})},
  307.                 {Yes},    {im({No})})},
  308.     {****},
  309.         {WAIT;
  310.         type({TL\n});
  311.         loop({
  312.  
  313.         %rbmes{
  314.         MESNUM1:=@body(MESNUM1,{,});
  315.         case    (MESNUM1={},
  316.             {No},{case    (WHERE,
  317.                     {BBS},{LogSave2},,{LogSave})});
  318.         loop({
  319.         loop({
  320.         MESNUM2:=MESNUM2|{,}|@head(MESNUM1,{,});
  321.         D:=D+1;
  322.         case(D={5},{Yes},    {MESNUM2:=@body(MESNUM2,{,});D:={0};
  323.                     MESNUM1:=@body(MESNUM1,{,});im({No})},,
  324.                     {MESNUM1:=@body(MESNUM1,{,});
  325.                     case    (MESNUM1={},{Yes},
  326.                         {MESNUM2:=@body(MESNUM2,{,});
  327.                         D:={0};im({No})},,
  328.                         {im({Yes})})});
  329.         });
  330.         WAITRB;
  331.         case(MESNUM1={},{Yes},{im({No})},,{MESNUM2:={};im({Yes})});
  332.         });
  333.         case    (SAVE,
  334.             {BOARD},{case    (REC,
  335.                     {Yes},{REC:={No};stoprec})});
  336.         type({SC}|F|{\n});
  337.         WAIT;
  338.         case(WHERE,{BBS},{type({F\n});WAIT});
  339.         };
  340.  
  341.         %KEYWORDa @nth(@nth(KEYWORD,C,{|}),1,{,});
  342.         %KEYWORDb @nth(@nth(KEYWORD,C,{|}),2,{,});
  343.         %KEYWORDc @nth(@nth(KEYWORD,C,{|}),3,{,});
  344.         wait({60},STOP,    KEYWORDa,
  345.                     {E:=@tail(@laststr(100),{\n},{  9});
  346.                     getnumber},
  347.                 KEYWORDb,
  348.                     {E:=@tail(@laststr(100),{\n},{  9});
  349.                     getnumber},
  350.                 KEYWORDc,
  351.                     {E:=@tail(@laststr(100),{\n},{  9});
  352.                     getnumber},
  353.                 {  9},
  354.                     {F:=@tail(@laststr,{\n},{  9});
  355.                     im({Yes})},
  356.                 {番号またはコマンド<FM>=},
  357.                     {type({\n});im({Yes})},
  358.                 {,J)=},    {type({\n});im({Yes})},
  359.                 {訂正して},{WAIT;rbmes;im({No})});
  360.         });
  361.         case    (@nth(NUMBER1,C+1,{,})={},
  362.             {No},    {case    (WHERE={BBS},
  363.                     {Yes},
  364.                     {type({F\n});WAIT},,
  365.                     {type({S\n});WAIT});
  366.                     C:=C+1;im({Yes})},
  367.             {Yes},    {case    (WHERE={BBS},
  368.                     {Yes},
  369.                     {type({F\n});WAIT});
  370.                 im({No})});});
  371.         });
  372. };
  373. %WAITRB{
  374.     case    (MESNUM2={},
  375.         {No},    {B:={Yes};
  376.             type({RB}|MESNUM2|{\n});
  377.             %waitrb{
  378.             wait({1});
  379.             case    (@laststr({13}),
  380.                 {TLn,AP,PF,J)=},{im({No})},
  381.                 {コマンド<FM>=},{im({No})},,
  382.                         {im({Yes})});
  383.             };
  384.             loop({
  385.             wait({900},STOP,
  386.                 {TLn,AP,PF,J)=},waitrb,
  387.                 {コマンド<FM>=},waitrb);
  388.             })});
  389. };
  390. %getnumber{
  391.     E:={ }|E;
  392.     E:=@tail(E,{ });
  393.     MESNUM1:=MESNUM1|{,}|E;
  394.     wait({60},STOP,{\n},);
  395.     im({Yes});
  396. };
  397.  
  398. /*    会議室の未読を検索して表示    */
  399. %KKREAD{
  400.     C:=1;
  401.     loop({
  402.     MESNUM1:={};
  403.     MESNUM2:={};
  404.     %NUMBER2 @nth(NUMBER1,C,{,});
  405.     type(NUMBER2|{\n});
  406.     WAIT;
  407.     type({RN\n});
  408.     wait({60},STOP,
  409.     {新しいメッセージは、ありません。},
  410.         {WAIT;case    (@nth(NUMBER1,C+1,{,})={},
  411.                 {No},    {C:=C+1;im({Yes})},
  412.                 {Yes},    {im({No})})},
  413.     {****},
  414.         {WAIT;
  415.         type({TL\n});
  416.         loop({
  417.  
  418.         %rbmes{
  419.         MESNUM1:=@body(MESNUM1,{,});
  420.         case(MESNUM1={},{No},{WHERE:={KAIGI};LogSave});
  421.         loop({
  422.         loop({
  423.         MESNUM2:=MESNUM2|{,}|@head(MESNUM1,{,});
  424.         D:=D+1;
  425.         case(D={5},{Yes},    {MESNUM2:=@body(MESNUM2,{,});D:={0};
  426.                     MESNUM1:=@body(MESNUM1,{,});im({No})},,
  427.                     {MESNUM1:=@body(MESNUM1,{,});
  428.                     case    (MESNUM1={},{Yes},
  429.                         {MESNUM2:=@body(MESNUM2,{,});
  430.                         D:={0};im({No})},,
  431.                         {im({Yes})})});
  432.         });
  433.         WAITRB;
  434.         case(MESNUM1={},{Yes},{im({No})},,{MESNUM2:={};im({Yes})});
  435.         });
  436.         case    (SAVE,
  437.             {BOARD},{case    (REC,
  438.                     {Yes},{REC:={No};stoprec})});
  439.         type({SC}|F|{\n});
  440.         WAIT;
  441.         };
  442.  
  443.         %KEYWORDa @nth(@nth(KEYWORD,C,{|}),1,{,});
  444.         %KEYWORDb @nth(@nth(KEYWORD,C,{|}),2,{,});
  445.         %KEYWORDc @nth(@nth(KEYWORD,C,{|}),3,{,});
  446.         wait({60},STOP,    KEYWORDa,
  447.                     {E:=@tail(@laststr(100),{\n},{  9});
  448.                     getnumber},
  449.                 KEYWORDb,
  450.                     {E:=@tail(@laststr(100),{\n},{  9});
  451.                     getnumber},
  452.                 KEYWORDc,
  453.                     {E:=@tail(@laststr(100),{\n},{  9});
  454.                     getnumber},
  455.                 {  9},
  456.                     {F:=@tail(@laststr,{\n},{  9});
  457.                     im({Yes})},
  458.                 {番号またはコマンド<FM>=},
  459.                     {type({\n});im({Yes})},
  460.                 {,J)=},    {type({\n});im({Yes})},
  461.                 {訂正して},{WAIT;rbmes;im({No})});
  462.         });
  463.         case    (@nth(NUMBER1,C+1,{,})={},
  464.             {No},    {type({S\n});WAIT;
  465.                 C:=C+1;im({Yes})},
  466.             {Yes},    {im({No})});});
  467.     });
  468. };
  469.  
  470. /*    SIG内での処理(未読タイトルの取得)    */
  471. %SIGT{
  472.     case(REC={Yes},{Yes},{stoprec});
  473.     %JUMP @nth(a,3,{/});
  474.     footnote(JUMP|{での処理をしています});
  475.  
  476.     %sig{
  477.     %NUMBER1 @nth(a,4,{/});
  478.     case    (NUMBER1={},
  479.         {No},    {type({3\n});
  480.             footnote(JUMP|{の}|NUMBER1|
  481.                 {番フォーラムの未読のタイトルを見ています});
  482.             WAIT;TITLEVIEW({FORUM});type({M\n});WAIT});
  483.     %NUMBER1 @nth(a,5,{/});
  484.     case    (NUMBER1={},
  485.         {No},    {type({5\n});
  486.             footnote(JUMP|{の}|NUMBER1|
  487.                 {番会議室の未読のタイトルを見ています});
  488.             wait({60},STOP,
  489.             {現在このサービスは行っていません},
  490.                 {WAIT;
  491.                 SNDMSG({okasi_f.snd});
  492.                 display({\nこのSIGには}|
  493.                 {会議室がありません\n})},
  494.             {,J)=},    {TitleView({KAIGI});type({M\n});WAIT},
  495.             {番号またはコマンド=},
  496.                 {TitleView({KAIGI});type({M\n});WAIT})});
  497.     };
  498.  
  499.     case(WHERE2=JUMP,{Yes},{sig},,{WHERE2:=JUMP;Jump2(sig)});
  500.     case    (REC={Yes},
  501.         {Yes},    {case    (SAVE,
  502.                 {WHOLE},
  503.                 {receive(LOGPATH|{\VANLOG\}|LOGFILE)})});
  504. };
  505.  
  506. /*    未読タイトル取得(フォーラム、BBS)    */
  507. %TITLEVIEW{
  508.     [WHERE]
  509.     C:=1;
  510.     var F[5];
  511.     loop({
  512.     %NUMBER2 @nth(NUMBER1,C,{,});
  513.     type({RN}|NUMBER2|{\n});
  514.     wait({60},STOP,
  515.     {新しいメッセージは、ありません。},
  516.         {WAIT;case    (@nth(NUMBER1,C+1,{,})={},
  517.                 {No},    {C:=C+1;im({Yes})},
  518.                 {Yes},    {im({No})})},
  519.     {****},
  520.         {TITCHECK:={Yes};
  521.         WAIT;
  522.         LOGSAVE2(WHERE);
  523.         type({TL\n});
  524.         loop({
  525.         wait({60},STOP,    {番号またはコマンド<FM>=},
  526.                     {type({\n});im({Yes})},
  527.                 {,J)=},    {type({\n});im({Yes})},
  528.                 {  9},
  529.                     {F:=@tail(@laststr,{\n},{  9});
  530.                     im({Yes})},
  531.                 {訂正して},{WAIT;im({No})});
  532.         });
  533.         stoprec;
  534.         type({SC}|F|{\n});
  535.         WAIT;
  536.         case(WHERE,{BBS},{type({F\n});WAIT});
  537.         case    (@nth(NUMBER1,C+1,{,})={},
  538.             {No},    {case    (WHERE={BBS},
  539.                     {Yes},
  540.                     {type({F\n});WAIT},,
  541.                     {type({S\n});WAIT});
  542.                 C:=C+1;im({Yes})},
  543.             {Yes},    {im({No})});});
  544.     });
  545. };
  546.  
  547. /*    未読タイトル取得(会議室)    */
  548. %TitleView{
  549.     [WHERE]
  550.     C:=1;
  551.     var F[5];
  552.     loop({
  553.     %NUMBER2 @nth(NUMBER1,C,{,});
  554.     type(NUMBER2|{\n});WAIT;
  555.     type({4\n});WAIT;
  556.     type({3\n});
  557.     wait({60},STOP,
  558.     {新しいメッセージは、ありません。},
  559.         {WAIT;case    (@nth(NUMBER1,C+1,{,})={},
  560.                 {No},    {C:=C+1;im({Yes})},
  561.                 {Yes},    {im({No})})},
  562.     {番号 登録日付 タイトル 総数:},
  563.         {TITCHECK:={Yes};
  564.         LOGSAVE2(WHERE);
  565.         loop({
  566.         wait({60},STOP,    {番号またはコマンド<FM>=},
  567.                     {type({\n});im({Yes})},
  568.                 {,J)=},    {type({\n});im({Yes})},
  569.                 {  9},
  570.                     {F:=@tail(@laststr,{\n},{  9});
  571.                     im({Yes})},
  572.                 {訂正して},{WAIT;im({No})});
  573.         });
  574.         stoprec;
  575.         type({SC}|F|{\n});
  576.         WAIT;
  577.         case    (@nth(NUMBER1,C+1,{,})={},
  578.             {No},    {type({S\n});WAIT;C:=C+1;im({Yes})},
  579.             {Yes},    {im({No})});});
  580.     });
  581. };
  582.  
  583. /*    BBS内での処理    */
  584. %BBS{
  585.     B:={No};
  586.     %JUMP @nth(a,3,{/});
  587.     footnote(JUMP|{での処理をしています});
  588.  
  589.     %bbs{
  590.     %NUMBER1 @nth(a,4,{/});
  591.     case    (NUMBER1={},
  592.         {No},    {footnote(JUMP|{の}|NUMBER1|{番の未読を見ています});
  593.             FREAD({BBS});type({F\n});WAIT});
  594.     };
  595.  
  596.     case(WHERE2=JUMP,{Yes},{LOGSAVE;bbs},,{WHERE2:=JUMP;Jump(bbs)});
  597.     case(SAVE,{JUMPCODE},{case(REC,{Yes},{REC:={No};stoprec})});
  598.     LOGDEL;
  599. };
  600.  
  601. /*    BBS内での処理(検索して読む)    */
  602. %BBSK{
  603.     var MESNUM1[2000];
  604.     var MESNUM2[30];
  605.     var E[5];
  606.     var F[5];
  607.     B:={No};
  608.     D:={0};
  609.     %JUMP @nth(a,3,{/});
  610.     footnote(JUMP|{での処理をしています});
  611.  
  612.     %bbs{
  613.     %NUMBER1 @nth(a,4,{/});
  614.     %KEYWORD @nth(a,5,{/});
  615.     case    (NUMBER1={},
  616.         {No},    {footnote(JUMP|{の}|NUMBER1|
  617.                 {番の未読を検索して見ています});
  618.             KFREAD({BBS})});
  619.     };
  620.  
  621.     case(WHERE2=JUMP,{Yes},{LOGSAVE;bbs},,{WHERE2:=JUMP;Jump(bbs)});
  622.     case(SAVE,{JUMPCODE},{case(REC,{Yes},{REC:={No};stoprec})});
  623.     LOGDEL;
  624. };
  625.  
  626. /*    BBS内での処理(未読タイトルの取得)    */
  627. %BBST{
  628.     case(REC={Yes},{Yes},{stoprec});
  629.     %JUMP @nth(a,3,{/});
  630.     footnote(JUMP|{での処理をしています});
  631.  
  632.     %bbs{
  633.     %NUMBER1 @nth(a,4,{/});
  634.     case    (NUMBER1={},
  635.         {No},    {footnote(JUMP|{の}|NUMBER1|{番の未読タイトルを}|
  636.                 {見ています});
  637.             TITLEVIEW({BBS});type({F\n});WAIT});
  638.     };
  639.  
  640.     case(WHERE2=JUMP,{Yes},{bbs},,{WHERE2:=JUMP;Jump2(bbs)});
  641.     case    (REC={Yes},
  642.         {Yes},    {case    (SAVE,
  643.                 {WHOLE},
  644.                 {receive(LOGPATH|{\VANLOG\}|LOGFILE)})});
  645. };
  646.  
  647. /*    CUGにジャンプして各処理をする    */
  648. %JUMPCUG{
  649.     LOGSAVE;
  650.     type({J }|JUMP|{\n});
  651.     loop({
  652.     wait({60},STOP,    {よろしいですか(Y,N)=},
  653.                 {type({\n});im({Yes})},
  654.             {よろしいですか=},
  655.                 {type({\n});im({Yes})},
  656.             {未契約},{WAIT;
  657.                 SNDMSG({okasi_f.snd});
  658.                 display({\未契約のCUGです\n});im({No})},
  659.             {訂正},    {WAIT;
  660.                 SNDMSG({okasi_f.snd});
  661.                 display({\nCUGコードが間違っています\n});
  662.                 im({No})},
  663.             {PASSWORD:},
  664.                 {type(@nth(a,4,{/})|{\n});WAITa;cug;im({No})});
  665.     });
  666. };
  667.  
  668. /*    CUGにジャンプして未読タイトルを見る    */
  669. %JUMPCUG2{
  670.     type({J }|JUMP|{\n});
  671.     loop({
  672.     wait({60},STOP,    {よろしいですか(Y,N)=},
  673.                 {type({\n});im({Yes})},
  674.             {よろしいですか=},
  675.                 {type({\n});im({Yes})},
  676.             {未契約},{WAIT;
  677.                 SNDMSG({okasi_f.snd});
  678.                 display({\未契約のCUGです\n});im({No})},
  679.             {訂正},    {WAIT;
  680.                 SNDMSG({okasi_f.snd});
  681.                 display({\nCUGコードが間違っています\n});
  682.                 im({No})},
  683.             {PASSWORD:},
  684.                 {type(@nth(a,4,{/})|{\n});WAITa;cug;im({No})});
  685.     });
  686. };
  687.  
  688. /*    CUG内での処理    */
  689. %CUG{
  690.     B:={No};
  691.     %JUMP @nth(a,3,{/});
  692.     footnote(JUMP|{での処理をしています});
  693.  
  694.     %cug{
  695.     %NUMBER1 @nth(a,6,{/});
  696.     case    (NUMBER1={},
  697.         {No},    {type(@nth(a,5,{/})|{\n});
  698.             footnote(JUMP|{の}|NUMBER1|{番掲示板の}|
  699.                 {未読を見ています});
  700.             WAIT;FREAD({KEIJI});type({M\n});WAIT});
  701.     %NUMBER1 @nth(a,8,{/});
  702.     case    (NUMBER1={},
  703.         {No},    {type(@nth(a,7,{/})|{\n});
  704.             footnote(JUMP|{の}|NUMBER1|{番会議室の}|
  705.                 {未読を見ています});
  706.             WAIT;KREAD;type({M\n});WAIT});
  707.     %NUMBER1 @nth(a,14,{/});
  708.     case    (NUMBER1,
  709.         {Yes},    {type(@nth(a,13,{/})|{\n});
  710.             footnote(JUMP|{のOLT広場を見ています});
  711.             WAIT;type({3\n});
  712.             WAIT;type({1\n});WAITOLT;type({M\n});WAIT});
  713.     %NUMBER1 @nth(a,10,{/});
  714.     case    (NUMBER1={},
  715.         {No},    {type(@nth(a,9,{/})|{\n});
  716.             footnote(JUMP|{の}|NUMBER1|{番OSLの}|
  717.                 {リストを見ています});
  718.             WAIT;OSLCHK;type({M\n});WAIT});
  719.     %NUMBER1 @nth(a,12,{/});
  720.     case    (NUMBER1={},
  721.         {No},    {type(@nth(a,11,{/})|{\n});
  722.             footnote(JUMP|{の}|NUMBER1|{番ライブラリの}|
  723.                 {リストを見ています});
  724.             WAIT;LIBCHK;type({M\n});WAIT});
  725.     };
  726.  
  727.     case(WHERE2=JUMP,{Yes},{LOGSAVE;cug},,{WHERE2:=JUMP;JUMPCUG});
  728.     case(SAVE,{JUMPCODE},{case(REC,{Yes},{REC:={No};stoprec})});
  729.     LOGDEL;
  730. };
  731.  
  732. /*    CUG内での処理(検索して読む)    */
  733. %CUGK{
  734.     var MESNUM1[2000];
  735.     var MESNUM2[30];
  736.     var E[5];
  737.     var F[5];
  738.     B:={No};
  739.     D:={0};
  740.     %JUMP @nth(a,3,{/});
  741.     footnote(JUMP|{での処理をしています});
  742.  
  743.     %cug{
  744.     %NUMBER1 @nth(a,6,{/});
  745.     %KEYWORD @nth(a,7,{/});
  746.     case    (NUMBER1={},
  747.         {No},    {type(@nth(a,5,{/})|{\n});
  748.             footnote(JUMP|{の}|NUMBER1|{番掲示板の}|
  749.                 {未読を検索して見ています});
  750.             WAIT;KFREAD({KEIJI});type({M\n});WAIT});
  751.     %NUMBER1 @nth(a,9,{/});
  752.     %KEYWORD @nth(a,10,{/});
  753.     case    (NUMBER1={},
  754.         {No},    {type(@nth(a,8,{/})|{\n});
  755.             footnote(JUMP|{の}|NUMBER1|{番会議室の}|
  756.                 {未読を検索して見ています});
  757.             WAIT;KKREAD;type({M\n});WAIT});
  758.     };
  759.  
  760.     case(WHERE2=JUMP,{Yes},{LOGSAVE;cug},,{WHERE2:=JUMP;JUMPCUG});
  761.     case(SAVE,{JUMPCODE},{case(REC,{Yes},{REC:={No};stoprec})});
  762.     LOGDEL;
  763. };
  764.  
  765. /*    CUG内での処理(未読タイトルの取得)    */
  766. %CUGT{
  767.     case(REC={Yes},{Yes},{stoprec});
  768.     %JUMP @nth(a,3,{/});
  769.     footnote(JUMP|{での処理をしています});
  770.  
  771.     %cug{
  772.     %NUMBER1 @nth(a,6,{/});
  773.     %MAINNUM @nth(a,5,{/});
  774.     case    (NUMBER1={},
  775.         {No},    {type(MAINNUM|{\n});
  776.             footnote(JUMP|{の}|NUMBER1|{番掲示板の}|
  777.                 {未読タイトルを見ています});
  778.             WAIT;TITLEVIEW({CUGKEI});type({M\n});WAIT});
  779.     %NUMBER1 @nth(a,8,{/});
  780.     %MAINNUM @nth(a,7,{/});
  781.     case    (NUMBER1={},
  782.         {No},    {type(MAINNUM|{\n});
  783.             footnote(JUMP|{の}|NUMBER1|{番会議室の}|
  784.                 {未読タイトルを見ています});
  785.             WAIT;TitleView({CUGKAI});type({M\n});WAIT});
  786.     };
  787.  
  788.     case(WHERE2=JUMP,{Yes},{cug},,{WHERE2:=JUMP;JUMPCUG2});
  789.     case    (REC={Yes},
  790.         {Yes},    {case    (SAVE,
  791.                 {WHOLE},
  792.                 {receive(LOGPATH|{\VANLOG\}|LOGFILE)})});
  793. };
  794.  
  795. /*    OLT広場の未読を見る    */
  796. %OLT{
  797.     B:={No};
  798.     footnote({OLT広場の未読を見ています});
  799.     %JUMP {OLT};
  800.  
  801.     %JUMPOLT{
  802.     type({J }|JUMP|{\n});
  803.     wait({60},STOP,    {よろしいですか(Y,N)=},    {type({\n});WAIT},
  804.             {よろしいですか=},    {type({\n});WAIT},
  805.             {番号またはコマンド=},,
  806.             {,J)=},);
  807.     };
  808.  
  809.     case(WHERE2=JUMP,{No},{WHERE2:=JUMP;JUMPOLT});
  810.     type({3\n});
  811.     WAIT;
  812.     type({1\n});
  813.  
  814.     %WAIT1{
  815.     wait({120},STOP,
  816.     {新しいメッセージは、ありません。},WAIT,
  817.     {タイトル},    {B:={Yes};
  818.             A:=@tail(@laststr,{#},{/});
  819.             WAIT;
  820.             case    (SAVE={JUMPCODE}||SAVE={BOARD},
  821.                 {Yes},
  822.                 {case    (preser,
  823.                     { 1},    {mkdir2(LOGPATH|{\}|JUMP);
  824.                         LOGFILE:=@crefile(LOGPATH|{\}|
  825.                             JUMP,{LOG});
  826.                         receive(LOGPATH|{\}|JUMP|{\}|
  827.                             LOGFILE);
  828.                         REC:={Yes}})});
  829.             loop({
  830.             type({RB}|A|{,}|A+1|{,}|A+2|{,}|A+3|{,}|A+4|{\n});
  831.             wait({300},STOP,
  832.             {訂正して},
  833.                 {WAIT;im({No})},
  834.             {ありません。\n\n}|{番号または},
  835.                 {WAIT;im({No})},
  836.             {,J)=},
  837.                 {A:=A+5;im({Yes})},
  838.             {<FM>=},
  839.                 {A:=A+5;im({Yes})});
  840.             });});
  841.     };
  842.  
  843.     WAIT1;
  844.     case    (SAVE={JUMPCODE}||SAVE={BOARD},
  845.         {Yes},{case(REC,{Yes},{REC:={No};stoprec})});
  846.     LOGDEL;
  847.     type({F\n});
  848.     WAIT;
  849. };
  850.  
  851. /*    PC-VANでの処理メイン    */
  852. %DOvan{
  853.     var DATE[24];
  854.     var n    [3];
  855.     var D    [2];
  856.     var e    [2];
  857.     %pcvan1{
  858.     case    (@nth(a,1,{/}),
  859.         {SIG},    {SIG},
  860.         {SIG検索},    {SIGK},
  861.         {SIGタイトル},{SIGT},
  862.         {BBS},    {BBS},
  863.         {BBS検索},    {BBSK},
  864.         {BBSタイトル},{BBST},
  865.         {CUG},    {CUG},
  866.         {CUG検索},    {CUGK},
  867.         {CUGタイトル},{CUGT},
  868.         {OLT広場},    {OLT})
  869.     };
  870.  
  871.     %dovan{
  872.     case(DOVAN,    {ALL},pcvan1,
  873.             {DAY},pcvan1,,
  874.         {case    (@nth(@nth(a,2,{/}),1,{>}),
  875.                 {毎日},pcvan1,
  876.                 {奇数},{case    (@getchar(DATE,10,1),
  877.                         {1},pcvan1,{3},pcvan1,
  878.                         {5},pcvan1,{7},pcvan1,
  879.                         {9},pcvan1)},
  880.                 {偶数},{case    (@getchar(DATE,10,1),
  881.                         {0},pcvan1,{2},pcvan1,
  882.                         {4},pcvan1,{6},pcvan1,
  883.                         {8},pcvan1)},,
  884.                 {case    (@getchar(@nth(a,2,{/}),1,2),
  885.                     @getchar(DATE,13,2),pcvan1,/* 曜日 */
  886.                     @getchar(DATE,9,2),pcvan1, /* 日付 */
  887.                     {複},    {D:=2;
  888.                         loop({
  889.                 case(@nth(@nth(@nth(a,2,{/}),1,{>}),D,{,}),
  890.                             @getchar(DATE,13,2),
  891.                             {pcvan1;im({No})},
  892.                             @getchar(DATE,9,2),
  893.                             {pcvan1;im({No})},
  894.                             {終わり},
  895.                             {im({No})},
  896.                             ,{D:=D+1;im({Yes})});
  897.                         })})})});
  898.     };
  899.  
  900.     DATE:=@getdt;
  901.     n:=0;
  902.     loop({
  903.     n:=n+1;
  904.     %a @getline(PCVAN,n,1);
  905.     case    (a={},
  906.         {Yes},    {im({No})},,
  907.             {e:=1;
  908.             loop({
  909.             case(DOVAN,    {ALL},{pcvan1;im({No})},
  910.                     {TIME},{dovan;im({No})},,
  911.             {case(@nth(@nth(@nth(a,2,{/}),2,{>}),e,{,}),
  912.                 {終日},{dovan;im({No})},
  913.                 {昼間},{case(@getchar(@daylong,{16},{2}),
  914.                         {10},{dovan;im({No})},
  915.                         {11},{dovan;im({No})},
  916.                         {12},{dovan;im({No})},
  917.                         {13},{dovan;im({No})},
  918.                         {14},{dovan;im({No})},
  919.                         {15},{dovan;im({No})},
  920.                         {16},{dovan;im({No})},
  921.                         {17},{dovan;im({No})},,
  922.                             {e:=e+1;im({Yes})})},
  923.                 {夜1},{case(@getchar(@daylong,{16},{2}),
  924.                         {18},{dovan;im({No})},
  925.                         {19},{dovan;im({No})},
  926.                         {20},{dovan;im({No})},
  927.                         {21},{dovan;im({No})},,
  928.                             {e:=e+1;im({Yes})})},
  929.                 {夜2},{case(@getchar(@daylong,{16},{2}),
  930.                         {22},{dovan;im({No})},
  931.                         {23},{dovan;im({No})},
  932.                         {00},{dovan;im({No})},,
  933.                             {e:=e+1;im({Yes})})},
  934.                 {夜中},{case(@getchar(@daylong,{16},{2}),
  935.                         {01},{dovan;im({No})},
  936.                         {02},{dovan;im({No})},
  937.                         {03},{dovan;im({No})},,
  938.                             {e:=e+1;im({Yes})})},
  939.                 {朝},{case(@getchar(@daylong,{16},{2}),
  940.                         {04},{dovan;im({No})},
  941.                         {05},{dovan;im({No})},
  942.                         {06},{dovan;im({No})},
  943.                         {07},{dovan;im({No})},
  944.                         {08},{dovan;im({No})},
  945.                         {09},{dovan;im({No})},,
  946.                             {e:=e+1;im({Yes})})},
  947.                 {未定},{im({No})},
  948.                 {終わり},{im({No})},
  949.                 {},{dovan;im({No})},,{e:=e+1;im({Yes})});
  950.             })});
  951.             im({Yes})});
  952.     });
  953. };
  954.  
  955. /*    PC-VANでの処理(SIGだけ強制巡回)    */
  956. %DOvan2{
  957.     var n    [3];
  958.     %pcvan1{
  959.     case(@nth(a,1,{/}),    {SIG},{SIG},{SIG検索},{SIGK},
  960.                 {SIGタイトル},{SIGT});
  961.     };
  962.  
  963.     n:=0;
  964.     loop({
  965.     n:=n+1;
  966.     %a @getline(PCVAN,n,1);
  967.     case(a={},{Yes},{im({No})},,{pcvan1;im({Yes})});
  968.     });
  969. };
  970.  
  971. /*    PC-VANでの処理(BBSだけ強制巡回)    */
  972. %DOvan3{
  973.     var n    [3];
  974.     %pcvan1{
  975.     case(@nth(a,1,{/}),    {BBS},{BBS},{BBS検索},{BBS},
  976.                 {BBSタイトル},{BBST});
  977.     };
  978.  
  979.     n:=0;
  980.     loop({
  981.     n:=n+1;
  982.     %a @getline(PCVAN,n,1);
  983.     case(a={},{Yes},{im({No})},,{pcvan1;im({Yes})});
  984.     });
  985. };
  986.  
  987. /*    PC-VANでの処理(CUGだけ強制巡回)    */
  988. %DOvan4{
  989.     var n    [3];
  990.     %pcvan1{
  991.     case(@nth(a,1,{/}),    {CUG},{CUG},{CUG検索},{CUG},
  992.                 {CUGタイトル},{CUGT});
  993.     };
  994.  
  995.     n:=0;
  996.     loop({
  997.     n:=n+1;
  998.     %a @getline(PCVAN,n,1);
  999.     case(a={},{Yes},{im({No})},,{pcvan1;im({Yes})});
  1000.     });
  1001. };
  1002.  
  1003. /*    実行    */
  1004. setcdir(TITLEPATH);
  1005. dispoff({Yes});
  1006. command({echo y|del *.*});
  1007. dispoff({No});
  1008. case(DOVAN,    {Yes},{DOvan},    {ALL},{DOvan},
  1009.         {TIME},{DOvan},    {DAY},{DOvan},
  1010.         {SIG},{DOvan2},    {BBS},{DOvan3},
  1011.         {CUG},{DOvan4});
  1012.